@font-face {
   font-display: swap;
   font-family: 'Inter';
   font-style: normal;
   font-weight: 400;
   src: url('inter-v13-latin-500.woff2') format('woff2');
}

@font-face {
   font-display: swap;
   font-family: 'Inter';
   font-style: normal;
   font-weight: 700;
   src: url('inter-v13-latin-700.woff2') format('woff2');
}
@font-face {
   font-display: swap;
   font-family: 'PT Sans Narrow';
   font-style: normal;
   font-weight: 400;
   src: url('pt-sans-narrow-v17-latin-regular.woff2') format('woff2');
}

@font-face {
   font-display: swap;
   font-family: 'PT Sans Narrow';
   font-style: normal;
   font-weight: 700;
   src: url('pt-sans-narrow-v17-latin-700.woff2') format('woff2');
}

:root {
   font-family: 'Inter', sans-serif;
   font-size: 16px;
   line-height: 24px;
   font-weight: 400;
   font-synthesis: none;
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   -webkit-text-size-adjust: 100%;
   --app-font-family: 'PT Sans Narrow', Avenir, Helvetica, Arial, sans-serif;
   --nav-height: 280px;
   --royal-blue: #438bff;
   --focus-ring: 0px 0px 0px 2px #fff, 0px 0px 0px 4px var(--royal-blue);
   --focus-ring-xl: 0px 0px 0px 2px #fff, 0px 0px 0px 5px var(--royal-blue);
}

html {
   --background-gradient: radial-gradient(
      circle,
      rgba(255, 255, 255, 1) 0%,
      rgba(150, 219, 248, 1) 100%
   );
   --background-color: #fff;
   --button-bg-color: #fff;
   --button-color: #5d6a7e;
   --button-active-bg-color: #5d6a7e;
   --button-active-color: #fff;
   --nav-border-color: #fff;
   --nav-bg-color: hsla(0, 0%, 100%, 0.35);
   --legend-title-color: #5d6a7e;
   --logo-fill: #455162;
   --logo-stroke: #1e2226;
   --links-color: #424850;
   --divider-color: #b6c5d8;

   background: var(--background-color);
   background: var(--background-gradient);
}

html[data-theme='dark'] {
   --background-color: #171717;
   --button-bg-color: #171717;
   --button-color: #7f7f7f;
   --button-active-bg-color: #545454;
   --button-active-color: #cacaca;
   --nav-border-color: #313131;
   --nav-bg-color: rgba(55, 55, 55, 0.36);
   --legend-title-color: #d0d0d0;
   --logo-fill: #7b7b7b;
   --logo-stroke: #141414;
   --links-color: #d0d0d0;
   --divider-color: #313131;

   background: var(--background-color);
   background-color: var(--background-color);
}

html[data-theme='slate'] {
   --background-color: #191d24;
   --button-bg-color: #191d24;
   --button-color: #878b92;
   --button-active-bg-color: #4c5665;
   --button-active-color: #fff;
   --nav-border-color: #334155;
   --nav-bg-color: hsl(216.7, 17%, 20.8%);
   --legend-title-color: #fff;
   --logo-fill: #878b92;
   --logo-stroke: #141414;
   --links-color: #d7d7d7;
   --divider-color: #ffffff4a;

   background: var(--background-color);
   background-color: var(--background-color);
}

body {
   margin: 0;
   padding: 0;
   min-height: 100vh;
   min-height: 100svh;
}

#app {
   font-family: var(--app-font-family);
}

* {
   box-sizing: border-box;
}

.ButtonBase {
   line-height: normal;
   background-color: var(--button-bg-color);
   border-radius: 5px;
   padding: 0.25em 0.5em;
   border: none;
   font-size: 1rem;
   display: flex;
   gap: 5px;
   align-items: center;
   cursor: pointer;
   box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.03);
   transition: transform 100ms ease-in-out;
   font-family: var(--app-font-family);
   font-weight: 700;
   color: var(--button-color);
   white-space: nowrap;
   user-select: none;
   text-transform: capitalize;

   &:hover {
      transform: scale(1.1);
   }
}

.ButtonBase:disabled {
   opacity: 0.5 !important;
   cursor: not-allowed !important;

   &:hover {
      transform: none !important;
   }
}

.SwitchButton {
   font-weight: 700;
   display: flex;
   justify-content: center;
   align-items: center;

   &[aria-checked='true'] {
      background-color: var(--button-active-bg-color);
      color: var(--button-active-color);
   }
}

.BounceAnim {
   animation: BounceKF 1s 4;
}

@keyframes BounceKF {
   0% {
      transform: translateY(0);
   }
   50% {
      transform: translateY(-5px);
   }
   100% {
      transform: translateY(0);
   }
}

p {
   margin: 0;
}

.Tippy {
   background-color: white;
   padding: 0.5rem 0.75rem;
   border-radius: 5px;
   font-weight: 600;
   line-height: 1.5;
   color: var(--button-color);
   font-family: var(--app-font-family);
   box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.03);
}
